/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package docmanager.operation.sectores;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import bf.operation.Operation;
import bf.operation.OperationException;
import docmanager.business.objects.Sector;
import docmanager.db.ConnectionPool;

/**
 *
 * @author Jose Luis
 */
public class OpAgregarSector2 extends Operation
{
    String returnURL = "DMController?op=ListarSectores";
    
    public Map execute(HttpServletRequest request) throws OperationException
    {
    	boolean error = false;
    	String message = "<h2>Hubo un error al intentar agregar el sector</h2>";
/*
    	if (request.getParameter("id") == null || request.getParameter("id").compareTo("") == 0) {
    		error = true;
    		message = "<h2>El sector debe tener un ID.</h2>";
    	}
*/
    	if (request.getParameter("descripcion") == null || request.getParameter("descripcion").compareTo("") == 0) {
    		error = true;
    		message = "<h2>El sector debe tener una descripcion.</h2>";
    	}
        if (error) {
            this.returnURL = "DMController?op=AgregarSector1";
            Map m = new HashMap();
            m.put("mensaje", message);
            return m;                        	
        }
 //       int id = Integer.parseInt(request.getParameter("id"));
        String descripcion = request.getParameter("descripcion");
        
        Connection conn = null;
        try
        {
            conn = ConnectionPool.getConnection();
        } catch (SQLException sQLException)
        {
            sQLException.printStackTrace();
            throw new OperationException();
        }
        //Si el ID o sector ya existe, cancelar todo.
        try
        {
/*
        	System.out.println("OpAgregarSector2: chequeando existencia de ID");
            if (Sector.existeSector(conn, id))
            {
                this.returnURL = "DMController?op=AgregarSector1";
                Map m = new HashMap();
                m.put("mensaje", "<h2>ID ya existente</h2>");
                ConnectionPool.closeConn(conn);
                return m;                
            }
*/
            System.out.println("OpAgregarSector2: chequeando existencia sector");
            if (Sector.existeSector(conn, descripcion))
            {
                conn.setAutoCommit(true);
                this.returnURL = "DMController?op=AgregarSector1";
                Map m = new HashMap();
                m.put("mensaje", "<h2>Sector ya existente</h2>");
                return m;                
            }
            Sector sector = new Sector(descripcion);
            sector.guardarNuevo(conn);
            System.out.println("OpAgregarSector2: sector agregado");
            ConnectionPool.closeConn(conn);
        } catch (SQLException sQLException)
        {
            sQLException.printStackTrace();
            throw new OperationException();            
        }
        Map m = new HashMap();
        m.put("mensaje", "<h2>Sector agregado con exito</h2>");
        return m;
    }
    
    public String getReturnURL()
    {
       return returnURL; 
    }
    
}